package com.xingkeduo.dto.response;

import com.xingkeduo.pojo.enums.OrderStatus;
import com.xingkeduo.pojo.enums.PayType;
import com.xingkeduo.utils.TableAnnotations;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * @author chi  2019-02-15 17:25
 **/
@Data
public class OrderUserResponseDto{

    private long id;

    //用户id
    private String userId;

    @TableAnnotations("门店id")
    private String storeId;
    @TableAnnotations("门店name")
    private String storeName;

    @TableAnnotations("手艺人ID")
    private String adminId;

    @TableAnnotations("手艺人名称")
    private String adminName;

    @TableAnnotations("订单号")
    private String orderNo;

    @TableAnnotations("总金额")
    private BigDecimal allPrice;

    @TableAnnotations("使用优惠的金额")
    private BigDecimal couponPrice;

    @TableAnnotations("实际支付的金额")
    private BigDecimal payPrice;

    @TableAnnotations("支付时间")
    private LocalDateTime payTime;

    @TableAnnotations("开始服务时间")
    private LocalDateTime serveStartTime;

    @TableAnnotations("结束服务时间")
    private LocalDateTime serveEndTime;

    @TableAnnotations("预约开始时间")
    private LocalDateTime appointmentStartTime;

    @TableAnnotations("预约结束时间")
    private LocalDateTime appointmentEndTime;


    @TableAnnotations("预约发型师id")
    private String appointmentAdminId;
    @TableAnnotations("预约发型师name")
    private String appointmentAdminName;


    @TableAnnotations("排队号")
    private String waitingLineNo;

    @TableAnnotations("门店地址")
    private String storeAddress;

    @TableAnnotations("详见 OrderStatus.class")
    private OrderStatus status = OrderStatus.NOT_PAY;

    @TableAnnotations("支付方式")
    private PayType payType;

    //
    private String statusName;

    @TableAnnotations("服务完成")
    private Boolean serviceDown;

    @TableAnnotations("叫号时间,以逗号分隔")
    private String announceNumberTimes;

    //创建时间
    private LocalDateTime createdTime ;

    //服务类型
    private String serviceTypeId;


    //验票码
    private String ticketCode;


    @TableAnnotations("服务类型名称")
    private String serviceTypeName;

    /**
     *
     * 已评价字段
     */
    @TableAnnotations("已评价")
    private Boolean hadComment;


    //优惠标识 1优惠券 2会员卡
    private String marketingType;

    //卡券详情
    private String cardCouponDetail;

    //卡券金额
    private BigDecimal marketingPrice;

    //活动类型
    private String activityType;

    //活动详情
    private String activityDetail;

    //活动金额
    private BigDecimal activityPrice;

    //活动是否是最优组合
    private String optimal;

    //活动id
    private String activityId;

    //卡券id
    private String marketingId;

    private String adminNickName;


}
